home *** CD-ROM | disk | FTP | other *** search
- /* ANSI C code generated by SmallEiffel. */
- /*
- -- SmallEiffel -- Release (- 0.97) -- FRANCE
- -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN
- -- University Henri Poincare' - Nancy 1 - email colnet@loria.fr
- -- CRIN (Centre de Recherche en Informatique de Nancy)
- -- FRANCE
- */
- #include "compile_to_c.h"
- void rT40rs_push_argument(T40 *C,T0* a1,int a2,T0 * a3){
- /*(IRF3*/(((T7*)oRBC40tmp_string)->_count)=(0);
- /*)*/rT7extend((T7*)oRBC40tmp_string,'a');
- rT2append_in(a2,oRBC40tmp_string);
- rT40rs_push(C,a1,oRBC40tmp_string,a3);
- }
- void rT40rs_push(T40 *C,T0* a1,T0* a2,T0 * a3){
- T0* _str=NULL;
- rT40put_string(C,(T0 *)ms1372);
- /*IF*/if (XrT58is_reference(a3)) {
- rT40put_string(C,(T0 *)ms1373);
- }
- else {
- /*IF*/if (XrT58fast_mapping_c(a3)) {
- _str=XrT58written_mark(a3);
- rT40put_character(C,rT7item((T7*)_str,1));
- rT40put_character(C,rT7item((T7*)_str,2));
- rT40put_character(C,rT7item((T7*)_str,3));
- }
- else if (XrT58is_bit(a3)) {
- rT40put_string(C,(T0 *)ms1374);
- }
- else {
- rT40put_string(C,(T0 *)ms1375);
- }
- /*FI*/rT40put_character(C,'\50');
- }
- /*FI*/rT40put_character(C,'\46');
- rT40put_string(C,a2);
- rT40put_character(C,'\54');
- /*IF*/if (((T0 *)a1)==((T0 *)(T0 *)ms205)) {
- rT40put_string(C,(T0 *)ms205);
- }
- else if (((T0 *)a1)==((T0 *)(T0 *)ms293)) {
- rT40put_string(C,(T0 *)ms293);
- }
- else {
- rT40put_string_c(C,a1);
- }
- /*FI*/rT40put_string(C,(T0 *)ms1376);
- }
- void rT40rs_push_current(T40 *C,T0 * a1){
- rT40rs_push(C,(T0 *)ms205,(T0 *)ms1377,a1);
- }
- void rT40rs_push_position(T40 *C,char a1,T0 * a2){
- /*IF*/if (rT44no_check((T44*)oRBC27eiffel_run_control)) {
- rT40put_string(C,(T0 *)ms778);
- rT40put_character(C,a1);
- rT40put_character(C,'\54');
- rT40put_position(C,a2);
- rT40put_character(C,'\51');
- /*IF*/if ((a1)!=('2')) {
- rT40put_string(C,(T0 *)ms780);
- }
- /*FI*/}
- /*FI*/}
- void rT40error_void_or_bad_type(T40 *C,T0 * a1){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT68start_position(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms1171);
- rT40rescue_evobt(XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (rT44boost((T44*)oRBC27eiffel_run_control)) {
- rT40put_string(C,(T0 *)ms1174);
- }
- else {
- rT40put_string(C,(T0 *)ms1175);
- XrT68compile_to_c(a1);
- rT40put_character(C,'\54');
- rT40put_position(C,XrT68start_position(a1));
- rT40put_character(C,'\51');
- }
- /*FI*/}
- void rT40write_make_file(T40 *C){
- int _i=0;
- XrT34disconnect((C)->_out_h);
- XrT34disconnect((C)->_out_c);
- rT38put_string((T38*)oRBC1std_output,(T0 *)ms1081);
- rT38put_string((T38*)oRBC1std_output,rT40path_make(C));
- rT38put_string((T38*)oRBC1std_output,(T0 *)ms1097);
- C->_out_make=rT40open_write(C,rT40path_make(C));
- _i=(C)->_split_count;
- while (!((_i)==(0))) {
- rT40tmp_string_gcc(C);
- rT7append((T7*)oRBC40tmp_string,(T0 *)ms1101);
- rT7append((T7*)oRBC40tmp_string,rT40path_h(C));
- rT7remove_last((T7*)oRBC40tmp_string,2);
- rT2append_in(_i,oRBC40tmp_string);
- rT7append((T7*)oRBC40tmp_string,(T0 *)ms532);
- rT40echo_make(C);
- _i=(_i)-(1);
- }
- rT40tmp_string_gcc(C);
- rT40tmp_string_output(C);
- _i=1;
- while (!((_i)>((C)->_split_count))) {
- rT7append((T7*)oRBC40tmp_string,rT40path_h(C));
- rT7remove_last((T7*)oRBC40tmp_string,2);
- rT2append_in(_i,oRBC40tmp_string);
- rT7append((T7*)oRBC40tmp_string,(T0 *)ms1103);
- rT7extend((T7*)oRBC40tmp_string,'\40');
- _i=(_i)+(1);
- }
- rT40tmp_string_object_library(C);
- rT40echo_make(C);
- /*IF*/if ((rT40directory_separator(C))!=('\57')) {
- C->_no_strip=1;
- }
- /*FI*//*IF*/if (!((C)->_no_strip)) {
- rT40print_strip(C);
- }
- /*FI*/XrT34disconnect((C)->_out_make);
- rT38put_string((T38*)oRBC1std_output,(T0 *)ms1107);
- }
- void rT40put_string(T40 *C,T0* a1){
- XrT34put_string((C)->_current_out,a1);
- }
- void rT40put_semicolon(T40 *C){
- XrT34put_string((C)->_current_out,(T0 *)ms802);
- }
- void rT40put_string_c(T40 *C,T0* a1){
- int _i=0;
- rT40put_character(C,'\42');
- _i=1;
- while (!((_i)>(((T7*)a1)->_count))) {
- rT40put_in_c_string(C,rT7item((T7*)a1,_i));
- _i=(_i)+(1);
- }
- rT40put_character(C,'\42');
- }
- void rT40put_target(T40 *C){
- int _ivt_flag=0;
- T0 * _rf=NULL;
- T0 * _tt=NULL;
- T0 * _target=NULL;
- {int iv1=rT55item((T55*)oRBC40stack_code,(C)->_top);
- if (1004 == iv1) goto l16;
- goto l17;
- l16: ;
- _target=XrT81item(oRBC40stack_target,(C)->_top);
- _tt=XrT58run_type(XrT68result_type(_target));
- /*IF*/if (XrT68is_current(_target)) {
- XrT34put_character((C)->_out_c,'C');
- }
- else if (XrT58fast_mapping_c(_tt)) {
- XrT68compile_to_c(_target);
- }
- else {
- _ivt_flag=rT40call_invariant_start(C,_tt);
- /*IF*/if (XrT58is_expanded(_tt)) {
- rT40put_character(C,'\46');
- XrT68compile_to_c(_target);
- /*IF*/if (_ivt_flag) {
- rT40call_invariant_end(C);
- }
- /*FI*/}
- else if (_ivt_flag) {
- XrT34put_character((C)->_out_c,'\50');
- XrT58mapping_cast(_tt);
- XrT68compile_to_c(_target);
- XrT34put_character((C)->_out_c,'\51');
- rT40call_invariant_end(C);
- }
- else {
- XrT68compile_to_c(_target);
- }
- /*FI*/}
- /*FI*/goto l15;
- l17: ;
- if (1007 == iv1) goto l18;
- goto l19;
- l18: ;
- rT40put_character(C,'n');
- goto l15;
- l19: ;
- if (1005 == iv1) goto l20;
- goto l21;
- l20: ;
- _target=XrT81item(oRBC40stack_target,(C)->_top);
- _rf=XrT265item(oRBC40stack_rf,(C)->_top);
- _tt=XrT261current_type(_rf);
- /*IF*/if (rT44boost((T44*)oRBC27eiffel_run_control)) {
- XrT58mapping_cast(_tt);
- XrT68compile_to_c(_target);
- }
- else {
- _ivt_flag=rT40call_invariant_start(C,_tt);
- rT40check_id(C,_target,XrT261id(_rf));
- /*IF*/if (_ivt_flag) {
- rT40call_invariant_end(C);
- }
- /*FI*/}
- /*FI*/goto l15;
- l21: ;
- if (1006 == iv1) goto l22;
- goto l23;
- l22: ;
- _rf=XrT265item(oRBC40stack_rf,(C)->_top);
- /*UT*/(T269*)rT271item((T271*)oRBC40stack_switch,(C)->_top);
- rT269put_target(_rf);
- goto l15;
- l23: ;
- if (1008 == iv1) goto l24;
- goto l25;
- l24: ;
- rT40put_character(C,'\46');
- rT40put_local_name(C,rT41item((T41*)oRBC40stack_string,(C)->_top));
- goto l15;
- l25: ;
- if (1009 == iv1) goto l26;
- goto l27;
- l26: ;
- XrT34put_character((C)->_out_c,'\46');
- _target=XrT81item(oRBC40stack_target,(C)->_top);
- /*IF*/if (((int)_target)) {
- XrT68compile_to_c(_target);
- }
- else {
- XrT34put_string((C)->_out_c,rT41item((T41*)oRBC40stack_string,(C)->_top));
- }
- /*FI*/XrT34put_string((C)->_out_c,(T0 *)ms1170);
- XrT34put_string((C)->_out_c,XrT67to_string(XrT261name(XrT265item(oRBC40stack_rf,(C)->_top))));
- goto l15;
- l27: ;
- if (1003 == iv1) goto l28;
- goto l29;
- l28: ;
- _target=XrT81item(oRBC40stack_target,(C)->_top);
- rT40error_void_or_bad_type(C,_target);
- goto l15;
- l29: ;
- l15: ;
- }
- }
- void rT40print_strip(T40 *C){
- /*IF*/if ((((T0 *)(T0 *)ms1090)==((T0 *)rT40system_name(C)))||(((T0 *)(T0 *)ms1087)==((T0 *)rT40system_name(C)))) {
- /*(IRF3*/(((T7*)oRBC40tmp_string)->_count)=(0);
- /*)*//*IF*/if (((T0 *)(T0 *)ms1090)==((T0 *)rT40system_name(C))) {
- rT7append((T7*)oRBC40tmp_string,(T0 *)ms1104);
- }
- else {
- rT7append((T7*)oRBC40tmp_string,(T0 *)ms1105);
- }
- /*FI*//*IF*/if (!((C)->_output_name)) {
- rT7append((T7*)oRBC40tmp_string,(T0 *)ms1106);
- }
- else {
- rT7append((T7*)oRBC40tmp_string,(C)->_output_name);
- }
- /*FI*/rT40echo_make(C);
- }
- /*FI*/}
- void rT40print_included(T40 *C){
- int _i=0;
- /*IF*/if (((int)(C)->_included)) {
- rT38put_string((T38*)oRBC1std_output,(T0 *)ms853);
- _i=((T41*)(C)->_included)->_lower;
- while (!((_i)>(((T41*)(C)->_included)->_upper))) {
- rT38put_string((T38*)oRBC1std_output,rT41item((T41*)(C)->_included,_i));
- _i=(_i)+(1);
- /*IF*/if ((_i)<=(((T41*)(C)->_included)->_upper)) {
- rT38put_character((T38*)oRBC1std_output,'\54');
- }
- /*FI*/}
- rT38put_string((T38*)oRBC1std_output,(T0 *)ms854);
- }
- /*FI*/}
- void rT40print_count(/*C*/T0* a1,int a2){
- /*IF*/if ((a2)>(0)) {
- rT38put_string((T38*)oRBC1std_output,(T0 *)ms1014);
- rT38put_string((T38*)oRBC1std_output,a1);
- /*IF*/if ((a2)>(1)) {
- rT38put_character((T38*)oRBC1std_output,'s');
- }
- /*FI*/rT38put_string((T38*)oRBC1std_output,(T0 *)ms1015);
- rT38put_integer((T38*)oRBC1std_output,a2);
- rT38put_string((T38*)oRBC1std_output,(T0 *)ms1016);
- }
- else {
- rT38put_string((T38*)oRBC1std_output,(T0 *)ms1017);
- rT38put_string((T38*)oRBC1std_output,a1);
- rT38put_string((T38*)oRBC1std_output,(T0 *)ms1018);
- }
- /*FI*/}
- T0*oRBC27system_list;
- int ofBC27system_name=0;
- T0*oRBC27system_name;
- T0* rT40system_name(T40 *C){
- T0* R=NULL;
- int _i=0;
- T0* _path=NULL;
- if (ofBC27system_name==0){
- ofBC27system_name=1;
- _path=rT40clone(C,rT40small_eiffel_directory(C));
- rT40add_directory(C,_path,(T0 *)ms1083);
- rT7append((T7*)_path,(T0 *)ms1084);
- /*IF*/if (!(rT40file_exists(C,_path))) {
- rT33put_string((T33*)oRBC1std_error,(T0 *)ms1085);
- rT33put_string((T33*)oRBC1std_error,_path);
- rT33put_string((T33*)oRBC1std_error,(T0 *)ms1086);
- rT40die_with_code(C,1);
- }
- /*FI*/rT40open_read(C,rT40tmp_file_read(),_path);
- rT39read_word((T39*)rT40tmp_file_read());
- R=oRBC39last_string;
- rT39disconnect((T39*)rT40tmp_file_read());
- _i=rT41index_of((T41*)oRBC27system_list,R);
- /*IF*/if ((_i)>(((T41*)oRBC27system_list)->_upper)) {
- rT33put_string((T33*)oRBC1std_error,(T0 *)ms1092);
- rT33put_string((T33*)oRBC1std_error,_path);
- rT33put_string((T33*)oRBC1std_error,(T0 *)ms1093);
- _i=1;
- while (!((_i)>(((T41*)oRBC27system_list)->_upper))) {
- rT33put_string((T33*)oRBC1std_error,rT41item((T41*)oRBC27system_list,_i));
- rT33put_character((T33*)oRBC1std_error,'\12');
- _i=(_i)+(1);
- }
- }
- else {
- R=rT41item((T41*)oRBC27system_list,_i);
- }
- /*FI*/oRBC27system_name=R;}
- return oRBC27system_name;}
- void rT40copy(T40 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- void rT40pop(T40 *C){
- C->_top=((C)->_top)-(1);
- }
- void rT40add_cecil(T40 *C,T0 * a1){
- /*IF*/if (!((C)->_cecil_list)) {
- C->_cecil_list=ma(265,0,1,a1);
- }
- else {
- /*IF*/if (XrT265fast_has((C)->_cecil_list,a1)) {
- }
- else {
- XrT265add_last((C)->_cecil_list,a1);
- }
- /*FI*/}
- /*FI*/}
- void rT40add_c_library(T40 *C,T0* a1){
- /*IF*/if (!((C)->_c_library_list)) {
- C->_c_library_list=ma(41,0,1,a1);
- }
- else {
- rT41add((T41*)(C)->_c_library_list,a1);
- }
- /*FI*/}
- void rT40add_c_compiler_option(T40 *C,T0* a1){
- /*IF*/if (!((C)->_c_compiler_options)) {
- {T7 *n=((T7*)new(7));
- rT7make(n,10);
- C->_c_compiler_options=(T0 *)n;}
- /*(IRF3*/(((T7*)(C)->_c_compiler_options)->_count)=(0);
- /*)*/}
- /*FI*/rT7append((T7*)(C)->_c_compiler_options,a1);
- rT7extend((T7*)(C)->_c_compiler_options,'\40');
- }
- void rT40add_c_object(T40 *C,T0* a1){
- /*IF*/if (!((C)->_c_object_list)) {
- C->_c_object_list=ma(41,0,1,a1);
- }
- else {
- rT41add((T41*)(C)->_c_object_list,a1);
- }
- /*FI*/}
- void rT40add_directory(T40 *C,T0* a1,T0* a2){
- rT7append((T7*)a1,a2);
- rT7extend((T7*)a1,rT40directory_separator(C));
- }
- void rT40add_first_include(T40 *C){
- rT40put_banner((C)->_out_c);
- XrT34put_string((C)->_out_c,(T0 *)ms535);
- XrT34put_string((C)->_out_c,rT40path_h(C));
- XrT34put_string((C)->_out_c,(T0 *)ms536);
- }
- void rT40cdef_id(T40 *C,T0* a1,int a2){
- /*(IRF3*/(((T7*)oRBC40tmp_string)->_count)=(0);
- /*)*/rT7append((T7*)oRBC40tmp_string,(T0 *)ms564);
- rT7append((T7*)oRBC40tmp_string,a1);
- rT7append((T7*)oRBC40tmp_string,(T0 *)ms565);
- rT2append_in(a2,oRBC40tmp_string);
- rT7extend((T7*)oRBC40tmp_string,'\12');
- XrT34put_string((C)->_out_h,oRBC40tmp_string);
- }
- void rT40cdef_t(T40 *C,T0* a1,int a2){
- /*(IRF3*/(((T7*)oRBC40tmp_string)->_count)=(0);
- /*)*/rT7append((T7*)oRBC40tmp_string,(T0 *)ms561);
- rT7append((T7*)oRBC40tmp_string,a1);
- rT7append((T7*)oRBC40tmp_string,(T0 *)ms562);
- rT2append_in(a2,oRBC40tmp_string);
- rT7extend((T7*)oRBC40tmp_string,'\12');
- XrT34put_string((C)->_out_h,oRBC40tmp_string);
- }
- int rT40add_manifest_string(T40 *C,T0 * a1){
- int R=0;
- /*IF*/if (!((C)->_ms_list)) {
- C->_ms_list=ma(151,0,1,a1);
- }
- else {
- rT151add_last((T151*)(C)->_ms_list,a1);
- }
- /*FI*/R=((T151*)(C)->_ms_list)->_upper;
- return R;
- }
- void rT40call_invariant_end(T40 *C){
- XrT34put_character((C)->_out_c,'\51');
- }
- int rT40call_invariant_start(T40 *C,T0 * a1){
- int R=0;
- T0 * _rc=NULL;
- _rc=XrT58run_class(XrT58run_type(a1));
- /*IF*/if (((rT44invariant_check((T44*)oRBC27eiffel_run_control))&&(((T260*)_rc)->_at_run_time))&&(((int)((T260*)_rc)->_invariant_assertion))) {
- XrT34put_string((C)->_out_c,(T0 *)ms1164);
- XrT34put_integer((C)->_out_c,((T260*)_rc)->_id);
- XrT34put_character((C)->_out_c,'\50');
- R=1;
- }
- /*FI*/return R;
- }
- int ofBC27make_suffix=0;
- T0*oRBC27make_suffix;
- T0* rT40make_suffix(T40 *C){
- T0* R=NULL;
- if (ofBC27make_suffix==0){
- ofBC27make_suffix=1;
- /*IF*/if (((T0 *)(T0 *)ms1082)==((T0 *)rT40system_name(C))) {
- R=(T0 *)ms1094;
- }
- else if (((T0 *)(T0 *)ms1090)==((T0 *)rT40system_name(C))) {
- R=(T0 *)ms1095;
- }
- else {
- R=(T0 *)ms1096;
- }
- /*FI*/oRBC27make_suffix=R;}
- return oRBC27make_suffix;}
- void rT40check_id(T40 *C,T0 * a1,int a2){
- /*IF*/if (rT44no_check((T44*)oRBC27eiffel_run_control)) {
- rT40put_string(C,(T0 *)ms1165);
- rT40put_integer(C,a2);
- rT40put_string(C,(T0 *)ms1166);
- rT40put_integer(C,a2);
- rT40put_character(C,'\54');
- XrT68compile_to_c(a1);
- rT40put_character(C,'\54');
- rT40put_position(C,XrT68start_position(a1));
- rT40put_string(C,(T0 *)ms1167);
- C->_check_id_count=((C)->_check_id_count)+(1);
- }
- else {
- XrT68compile_to_c(a1);
- C->_direct_call_count=((C)->_direct_call_count)+(1);
- }
- /*FI*/}
- void rT40echo_make(T40 *C){
- XrT34put_string((C)->_out_make,oRBC40tmp_string);
- XrT34put_character((C)->_out_make,'\12');
- }
- void rT40check_assertion(T40 *C,T0 * a1){
- int _static=0;
- _static=XrT68is_static(a1);
- /*IF*/if ((!(_static))||((XrT68static_value(a1))==(0))) {
- rT40rs_push_position(C,'4',XrT68start_position(a1));
- rT40put_string(C,(T0 *)ms781);
- rT40put_string(C,(C)->_check_assertion_mode);
- rT40put_character(C,'\50');
- /*IF*/if (_static) {
- C->_static_expression_count=((C)->_static_expression_count)+(1);
- rT40put_character(C,'0');
- }
- else {
- XrT68compile_to_c(a1);
- }
- /*FI*/rT40put_string(C,(T0 *)ms782);
- }
- /*FI*/}
- int rT40file_exists(T40 *C,T0* a1){
- int R=0;
- rT7extend((T7*)a1,'\0');
- {FILE *f=fopen(((T7 *)a1)->_storage,"r");
- R=(f != NULL);
- fclose(f);}
- rT7remove_last((T7*)a1,1);
- return R;
- }
- T0*oRBC27eiffel_run_control;
- T0* rT159to_key(T159 *C){
- T0* R=NULL;
- R=(C)->_to_string;
- return R;
- }
- void rT159copy(T159 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- void rT159make(T159 *C,T0* a1,T0 * a2){
- C->_to_string=a1;
- C->_start_position=a2;
- }
- void rT269cpp_dicho(T269 *C,int a1,int a2,int a3){
- int _exp_to_ref=0;
- T0 * _dyn_rf=NULL;
- T0 * _dyn_rc=NULL;
- int _m=0;
- /*IF*/if ((a1)==(a2)) {
- _dyn_rc=rT263item((T263*)(C)->_switch,a1);
- _dyn_rf=rT269dynamic(_dyn_rc,(C)->_static_rf);
- /*IF*/if (a3) {
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1006);
- _exp_to_ref=(XrT58is_expanded(XrT261result_type(_dyn_rf)))&&(XrT58is_reference(XrT261result_type((C)->_static_rf)));
- /*IF*/if (_exp_to_ref) {
- XrT58expanded_to_reference(XrT261result_type(_dyn_rf));
- rT40put_character((T40*)oRBC27cpp,'\50');
- }
- /*FI*/}
- /*FI*/rT40push_switch((T40*)oRBC27cpp,_dyn_rf,(T0 *)C);
- XrT261mapping_c(_dyn_rf);
- rT40pop((T40*)oRBC27cpp);
- /*IF*/if (a3) {
- /*IF*/if (_exp_to_ref) {
- rT40put_character((T40*)oRBC27cpp,'\51');
- }
- /*FI*/rT40put_character((T40*)oRBC27cpp,'\73');
- }
- /*FI*/}
- else {
- _m=((a1)+(a2))/(2);
- _dyn_rc=rT263item((T263*)(C)->_switch,_m);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1009);
- rT40put_integer((T40*)oRBC27cpp,((T260*)_dyn_rc)->_id);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1010);
- rT269cpp_dicho(C,a1,_m,a3);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1011);
- rT269cpp_dicho(C,(_m)+(1),a2,a3);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1012);
- }
- /*FI*/}
- void rT269sort_running(/*C*/T0* a1){
- int _moved=0;
- int _buble=0;
- int _max=0;
- int _min=0;
- _max=((T263*)a1)->_upper;
- _min=((T263*)a1)->_lower;
- _moved=1;
- while (!(!(_moved))) {
- _moved=0;
- /*IF*/if (((_max)-(_min))>(0)) {
- _buble=(_min)+(1);
- while (!((_buble)>(_max))) {
- /*IF*/if ((((T260*)rT263item((T263*)a1,(_buble)-(1)))->_id)>(((T260*)rT263item((T263*)a1,_buble))->_id)) {
- rT263swap((T263*)a1,(_buble)-(1),_buble);
- _moved=1;
- }
- /*FI*/_buble=(_buble)+(1);
- }
- _max=(_max)-(1);
- }
- /*FI*//*IF*/if ((_moved)&&(((_max)-(_min))>(0))) {
- _moved=0;
- _buble=(_max)-(1);
- while (!((_buble)<(_min))) {
- /*IF*/if ((((T260*)rT263item((T263*)a1,_buble))->_id)>(((T260*)rT263item((T263*)a1,(_buble)+(1)))->_id)) {
- rT263swap((T263*)a1,_buble,(_buble)+(1));
- _moved=1;
- }
- /*FI*/_buble=(_buble)-(1);
- }
- _min=(_min)+(1);
- }
- /*FI*/}
- }
- T0*oRBC269ts;
- void rT269fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- void rT269put_target(/*C*/T0 * a1){
- int _invariant_flag=0;
- _invariant_flag=rT40call_invariant_start((T40*)oRBC27cpp,XrT261current_type(a1));
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1168);
- rT40put_integer((T40*)oRBC27cpp,XrT261id(a1));
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1169);
- /*IF*/if (_invariant_flag) {
- rT40call_invariant_end((T40*)oRBC27cpp);
- }
- /*FI*/}
- void rT269c_define(T269 *C){
- int _i=0;
- T0 * _result_type=NULL;
- T0 * _t=NULL;
- T0 * _arguments=NULL;
- int _boost=0;
- _boost=rT44boost((T44*)oRBC27eiffel_run_control);
- _arguments=XrT261arguments((C)->_static_rf);
- _result_type=XrT261result_type((C)->_static_rf);
- /*(IRF3*/(((T7*)oRBC269ts)->_count)=(0);
- /*)*//*IF*/if (!(_result_type)) {
- rT7append((T7*)oRBC269ts,(T0 *)ms998);
- }
- else {
- _result_type=XrT58run_type(_result_type);
- XrT58c_type_in(_result_type,oRBC269ts);
- }
- /*FI*/rT7append((T7*)oRBC269ts,(T0 *)ms999);
- rT2append_in(XrT58id((C)->_target_type),oRBC269ts);
- XrT67mapping_c_in((C)->_name,oRBC269ts);
- /*IF*/if (_boost) {
- rT7append((T7*)oRBC269ts,(T0 *)ms1000);
- }
- else {
- rT7append((T7*)oRBC269ts,(T0 *)ms1001);
- }
- /*FI*//*IF*/if (((int)_arguments)) {
- _i=1;
- while (!((_i)>(rT92count((T92*)_arguments)))) {
- rT7extend((T7*)oRBC269ts,'\54');
- _t=XrT58run_type(rT92type((T92*)_arguments,_i));
- XrT58c_type_in(_t,oRBC269ts);
- rT7append((T7*)oRBC269ts,(T0 *)ms1002);
- rT2append_in(_i,oRBC269ts);
- _i=(_i)+(1);
- }
- }
- /*FI*/rT7extend((T7*)oRBC269ts,'\51');
- rT40put_c_heading((T40*)oRBC27cpp,oRBC269ts);
- rT40swap_on_c((T40*)oRBC27cpp);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1003);
- rT269sort_running((C)->_switch);
- /*IF*/if (_boost) {
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1004);
- }
- else {
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1005);
- }
- /*FI*/rT269cpp_dicho(C,((T263*)(C)->_switch)->_lower,((T263*)(C)->_switch)->_upper,((int)_result_type));
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1013);
- }
- void rT269put_arguments(T269 *C,T0 * a1){
- T0 * _ft=NULL;
- T0 * _at=NULL;
- int _i=0;
- T0 * _eal=NULL;
- _eal=XrT261arguments((C)->_static_rf);
- _i=1;
- while (!((_i)>(rT92count((T92*)_eal)))) {
- /*IF*/if ((_i)>(1)) {
- rT40put_character((T40*)oRBC27cpp,'\54');
- }
- /*FI*/_at=XrT58run_type(rT92type((T92*)_eal,_i));
- _ft=XrT58run_type(rT92type((T92*)a1,_i));
- /*IF*/if (XrT58is_expanded(_ft)) {
- /*IF*/if (XrT58is_expanded(_at)) {
- rT40put_character((T40*)oRBC27cpp,'a');
- rT40put_integer((T40*)oRBC27cpp,_i);
- }
- else {
- /*IF*/if (XrT58fast_mapping_c(_ft)) {
- rT40put_character((T40*)oRBC27cpp,'\50');
- XrT58cast_to_ref(_ft);
- rT40put_character((T40*)oRBC27cpp,'a');
- rT40put_integer((T40*)oRBC27cpp,_i);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1395);
- }
- else {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT58start_position(rT92type((T92*)a1,_i)));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT58start_position(rT92type((T92*)_eal,_i)));
- rT269fatal_error((T0 *)ms1396);
- }
- /*FI*/}
- /*FI*/}
- else {
- /*IF*/if (XrT58is_expanded(_at)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT58start_position(rT92type((T92*)a1,_i)));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT58start_position(rT92type((T92*)_eal,_i)));
- rT269fatal_error((T0 *)ms1397);
- }
- else {
- rT40put_character((T40*)oRBC27cpp,'a');
- rT40put_integer((T40*)oRBC27cpp,_i);
- }
- /*FI*/}
- /*FI*/_i=(_i)+(1);
- }
- }
- T0 * rT269dynamic(/*C*/T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _static=NULL;
- T0 * _sta_name=NULL;
- T0 * _dyn_name=NULL;
- _static=XrT261current_type(a2);
- _sta_name=XrT261name(a2);
- _dyn_name=rT50name_of((T50*)rT260base_class((T260*)a1),XrT58base_class(_static),_sta_name);
- R=rT260get_feature((T260*)a1,_dyn_name);
- return R;
- }
- void rT269copy(T269 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- void rT269make(T269 *C,T0 * a1,T0 * a2,T0* a3){
- C->_target_type=a1;
- C->_name=a2;
- C->_switch=a3;
- C->_static_rf=rT260get_feature((T260*)XrT58run_class((C)->_target_type),(C)->_name);
- }
- void rT45warning(T45 *C,T0* a1){
- rT45append(a1);
- rT45print_as_warning(C);
- }
- void rT45extend(/*C*/char a1){
- rT7extend((T7*)oRBC45explanation,a1);
- }
- void rT45die_with_code(T45 *C,int a1){
- exit(a1);
- }
- void rT45fatal_error(T45 *C,T0* a1){
- rT7append((T7*)oRBC45explanation,a1);
- rT45print_as_fatal_error(C);
- rT45crash(C);
- }
- void rT45error(T45 *C,T0* a1){
- rT45append(a1);
- rT45print_as_error(C);
- }
- void rT45incr_nb_errors(T45 *C){
- C->_nb_errors=((C)->_nb_errors)+(1);
- /*IF*/if (((C)->_nb_errors)>=(10)) {
- rT33put_string((T33*)oRBC1std_error,(T0 *)ms436);
- rT33put_integer((T33*)oRBC1std_error,10);
- rT33put_string((T33*)oRBC1std_error,(T0 *)ms437);
- rT45die_with_code(C,1);
- }
- /*FI*/}
- void rT45incr_nb_warnings(T45 *C){
- C->_nb_warnings=((C)->_nb_warnings)+(1);
- }
- void rT45print_as_warning(T45 *C){
- rT45do_print((T0 *)ms82);
- rT45incr_nb_warnings(C);
- }
- void rT45print_as_fatal_error(T45 *C){
- rT45do_print((T0 *)ms48);
- rT45die_with_code(C,1);
- }
- void rT45print_as_error(T45 *C){
- rT45do_print((T0 *)ms435);
- rT45incr_nb_errors(C);
- }
- int ofBC45positions=0;
- T0*oRBC45positions;
- T0* rT45positions(/*C*/void){
- T0* R=NULL;
- if (ofBC45positions==0){
- ofBC45positions=1;
- {T47 *n=((T47*)new(47));
- rT47make(n,1,5);
- R=(T0 *)n;}
- rT47clear((T47*)R);
- oRBC45positions=R;}
- return oRBC45positions;}
- void rT45crash(T45 *C){
- rsp();
- rT45die_with_code(C,1);
- }
- void rT45do_print(/*C*/T0* a1){
- char _previous_cc='\0';
- char _cc='\0';
- int _cpt=0;
- int _i=0;
- rT33put_string((T33*)oRBC1std_error,(T0 *)ms39);
- rT33put_string((T33*)oRBC1std_error,a1);
- rT33put_string((T33*)oRBC1std_error,(T0 *)ms40);
- _i=1;
- _cpt=(9)+(((T7*)a1)->_count);
- while (!((_i)>(((T7*)oRBC45explanation)->_count))) {
- _previous_cc=_cc;
- _cc=rT7item((T7*)oRBC45explanation,_i);
- _i=(_i)+(1);
- /*IF*/if ((_cpt)>(60)) {
- /*IF*/if ((_cc)==('\40')) {
- rT33put_character((T33*)oRBC1std_error,'\12');
- _cpt=0;
- }
- else if (((_previous_cc)==('\54'))||((_previous_cc)==('\57'))) {
- rT33put_character((T33*)oRBC1std_error,'\12');
- rT33put_character((T33*)oRBC1std_error,_cc);
- _cpt=1;
- }
- else {
- rT33put_character((T33*)oRBC1std_error,_cc);
- _cpt=(_cpt)+(1);
- }
- /*FI*/}
- else {
- rT33put_character((T33*)oRBC1std_error,_cc);
- _cpt=(_cpt)+(1);
- }
- /*FI*/}
- rT33put_character((T33*)oRBC1std_error,'\12');
- _i=((T47*)rT45positions())->_lower;
- while (!((_i)>(((T47*)rT45positions())->_upper))) {
- rT46show((T46*)rT47item((T47*)rT45positions(),_i));
- _i=(_i)+(1);
- }
- /*(IRF3*//*(IRF3*/(((T7*)oRBC45explanation)->_count)=(0);
- /*)*/rT47clear((T47*)rT45positions());
- /*)*/rT33put_string((T33*)oRBC1std_error,(T0 *)ms434);
- }
- void rT45append(/*C*/T0* a1){
- rT7append((T7*)oRBC45explanation,a1);
- }
- void rT45add_position(/*C*/T0 * a1){
- /*IF*/if (((int)a1)) {
- /*IF*/if (!(rT47has((T47*)rT45positions(),a1))) {
- rT47add_last((T47*)rT45positions(),a1);
- }
- /*FI*/}
- /*FI*/}
- T0*oRBC45explanation;
- void rT45copy(T45 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- void rT45add_type(/*C*/T0 * a1,T0* a2){
- rT45append((T0 *)ms478);
- /*IF*/if (XrT58is_run_type(a1)) {
- rT45append(XrT58run_time_mark(a1));
- }
- else {
- rT45append(XrT58written_mark(a1));
- }
- /*FI*/rT45append(a2);
- rT45add_position(XrT58start_position(a1));
- }
- T0 * rT144first_name(T144 *C){
- T0 * R=NULL;
- R=rT128item((T128*)(C)->_names,1);
- return R;
- }
- void rT144fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- T0 * rT144to_run_feature(T144 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _rc=NULL;
- _rc=XrT58run_class(a1);
- R=rT260at((T260*)_rc,a2);
- if ((int)R) switch (((T0 *)R)->id) {
- case 277:
- break;
- default:
- R = NULL;
- };/*IF*/if (!(R)) {
- {T277 *n=((T277*)new(277));
- rT277make(n,a1,a2,(T0 *)C);
- R=(T0 *)n;}
- }
- /*FI*/return R;
- }
- void rT144error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- void rT144fe_undefine(/*C*/T0 * a1,T0 * a2){
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms483);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms484);
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
- rT144fatal_error((T0 *)ms485);
- }
- int rT144is_merge_with(T144 *C,T0 * a1,T0 * a2){
- int R=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
- /*IF*/if ((!((C)->_result_type))||(!(XrT62result_type(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT144error(rT144start_position(C),(T0 *)ms488);
- }
- /*FI*/}
- /*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
- /*IF*/if ((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT144error(rT144start_position(C),(T0 *)ms489);
- }
- else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT144error(rT144start_position(C),(T0 *)ms490);
- }
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_result_type)) {
- /*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
- rT45error((T45*)oRBC27eh,(T0 *)ms491);
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
- /*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT144error(rT144start_position(C),(T0 *)ms494);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
- return R;
- }
- T0 * rT144start_position(T144 *C){
- T0 * R=NULL;
- R=XrT67start_position(rT144first_name(C));
- return R;
- }
- void rT144collect_for(/*C*/int a1){
- /*IF*/if ((a1)==(1001)) {
- /*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
- /*IF*/if (!(rT268fast_has((T268*)oRBC62require_collector,/*(IRF4*/NULL/*)*/))) {
- rT268add_last((T268*)oRBC62require_collector,/*(IRF4*/NULL/*)*/);
- }
- /*FI*/}
- /*FI*/}
- else {
- /*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
- rT157add_into((T157*)/*(IRF4*/NULL/*)*/,oRBC62assertion_collector);
- }
- /*FI*/}
- /*FI*/}
- void rT144add_into(T144 *C,T0 * a1){
- T0 * _fn=NULL;
- int _i=0;
- C->_base_class=rT46base_class((T46*)XrT67start_position(rT128item((T128*)(C)->_names,1)));
- _i=1;
- while (!((_i)>(rT128count((T128*)(C)->_names)))) {
- _fn=rT128item((T128*)(C)->_names,_i);
- /*IF*/if (rT61has((T61*)a1,XrT67to_key(_fn))) {
- _fn=XrT62first_name(rT61at((T61*)a1,XrT67to_key(_fn)));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(_fn));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(rT128item((T128*)(C)->_names,_i)));
- rT45error((T45*)oRBC27eh,(T0 *)ms419);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(_fn));
- rT45error((T45*)oRBC27eh,(T0 *)ms38);
- }
- else {
- rT61put((T61*)a1,(T0 *)C,XrT67to_key(_fn));
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- T0 * rT144try_to_undefine(T144 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- /*IF*/if (XrT67is_frozen(a1)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT144start_position(C));
- rT144error(XrT67start_position(a1),(T0 *)ms482);
- rT144fe_undefine(a1,a2);
- }
- else {
- R=rT144try_to_undefine_aux(C,a1,a2);
- /*IF*/if (((int)R)) {
- XrT203set_clients(R,(C)->_clients);
- }
- else {
- rT144fe_undefine(a1,a2);
- }
- /*FI*/}
- /*FI*/return R;
- }
- T0 * rT144try_to_undefine_aux(T144 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT144start_position(C));
- rT144error(XrT67start_position(a1),(T0 *)ms1518);
- rT144fe_undefine(a1,a2);
- return R;
- }
- int rT144can_hide(T144 *C,T0 * a1,T0 * a2){
- int R=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
- /*IF*/if ((!((C)->_result_type))||(!(XrT62result_type(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT144error(rT144start_position(C),(T0 *)ms501);
- }
- /*FI*/}
- /*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
- /*IF*/if ((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT144error(rT144start_position(C),(T0 *)ms502);
- }
- else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT144error(rT144start_position(C),(T0 *)ms503);
- }
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_result_type)) {
- /*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms504);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT58run_time_mark(((T260*)a2)->_current_type));
- rT45error((T45*)oRBC27eh,(T0 *)ms505);
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
- /*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT144start_position(C));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms506);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT58run_time_mark(((T260*)a2)->_current_type));
- rT45error((T45*)oRBC27eh,(T0 *)ms507);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
- return R;
- }
- T0 * rT144base_class_name(T144 *C){
- T0 * R=NULL;
- R=((T50*)(C)->_base_class)->_base_class_name;
- return R;
- }
- void rT144copy(T144 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- T0 * rT144value(T144 *C,int a1){
- T0 * R=NULL;
- R=rT147item((T147*)(C)->_values,a1);
- return R;
- }
- void rT144make_e_feature(T144 *C,T0 * a1,T0 * a2){
- C->_names=a1;
- C->_result_type=a2;
- }
- void rT144make(T144 *C,T0 * a1,T0 * a2){
- T0 * _ic=NULL;
- int _i=0;
- rT144make_e_feature(C,a1,a2);
- {T147 *n=((T147*)new(147));
- rT147make(n,1,rT128count((T128*)(C)->_names));
- C->_values=(T0 *)n;}
- _i=1;
- while (!((_i)>(((T147*)(C)->_values)->_upper))) {
- {T80 *n=((T80*)new(80));
- rT80make(n,rT52next_unique((T52*)oRBC27small_eiffel),NULL);
- _ic=(T0 *)n;}
- rT147put((T147*)(C)->_values,_ic,_i);
- _i=(_i)+(1);
- }
- }
- T0 * rT148first_name(T148 *C){
- T0 * R=NULL;
- R=rT128item((T128*)(C)->_names,1);
- return R;
- }
- void rT148fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- T0 * rT148to_run_feature(T148 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _rc=NULL;
- _rc=XrT58run_class(a1);
- R=rT260at((T260*)_rc,a2);
- if ((int)R) switch (((T0 *)R)->id) {
- case 277:
- break;
- default:
- R = NULL;
- };/*IF*/if (!(R)) {
- {T277 *n=((T277*)new(277));
- rT277make(n,a1,a2,(T0 *)C);
- R=(T0 *)n;}
- }
- /*FI*/return R;
- }
- void rT148error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- void rT148fe_undefine(/*C*/T0 * a1,T0 * a2){
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms483);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms484);
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
- rT148fatal_error((T0 *)ms485);
- }
- int rT148is_merge_with(T148 *C,T0 * a1,T0 * a2){
- int R=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
- /*IF*/if ((!((C)->_result_type))||(!(XrT62result_type(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT148error(rT148start_position(C),(T0 *)ms488);
- }
- /*FI*/}
- /*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
- /*IF*/if ((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT148error(rT148start_position(C),(T0 *)ms489);
- }
- else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT148error(rT148start_position(C),(T0 *)ms490);
- }
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_result_type)) {
- /*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
- rT45error((T45*)oRBC27eh,(T0 *)ms491);
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
- /*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT148error(rT148start_position(C),(T0 *)ms494);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
- return R;
- }
- T0 * rT148start_position(T148 *C){
- T0 * R=NULL;
- R=XrT67start_position(rT148first_name(C));
- return R;
- }
- void rT148collect_for(/*C*/int a1){
- /*IF*/if ((a1)==(1001)) {
- /*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
- /*IF*/if (!(rT268fast_has((T268*)oRBC62require_collector,/*(IRF4*/NULL/*)*/))) {
- rT268add_last((T268*)oRBC62require_collector,/*(IRF4*/NULL/*)*/);
- }
- /*FI*/}
- /*FI*/}
- else {
- /*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
- rT157add_into((T157*)/*(IRF4*/NULL/*)*/,oRBC62assertion_collector);
- }
- /*FI*/}
- /*FI*/}
- void rT148add_into(T148 *C,T0 * a1){
- T0 * _fn=NULL;
- int _i=0;
- C->_base_class=rT46base_class((T46*)XrT67start_position(rT128item((T128*)(C)->_names,1)));
- _i=1;
- while (!((_i)>(rT128count((T128*)(C)->_names)))) {
- _fn=rT128item((T128*)(C)->_names,_i);
- /*IF*/if (rT61has((T61*)a1,XrT67to_key(_fn))) {
- _fn=XrT62first_name(rT61at((T61*)a1,XrT67to_key(_fn)));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(_fn));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(rT128item((T128*)(C)->_names,_i)));
- rT45error((T45*)oRBC27eh,(T0 *)ms419);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(_fn));
- rT45error((T45*)oRBC27eh,(T0 *)ms38);
- }
- else {
- rT61put((T61*)a1,(T0 *)C,XrT67to_key(_fn));
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- T0 * rT148try_to_undefine(T148 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- /*IF*/if (XrT67is_frozen(a1)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT148start_position(C));
- rT148error(XrT67start_position(a1),(T0 *)ms482);
- rT148fe_undefine(a1,a2);
- }
- else {
- R=rT148try_to_undefine_aux(C,a1,a2);
- /*IF*/if (((int)R)) {
- XrT203set_clients(R,(C)->_clients);
- }
- else {
- rT148fe_undefine(a1,a2);
- }
- /*FI*/}
- /*FI*/return R;
- }
- T0 * rT148try_to_undefine_aux(T148 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT148start_position(C));
- rT148error(XrT67start_position(a1),(T0 *)ms1518);
- rT148fe_undefine(a1,a2);
- return R;
- }
- int rT148can_hide(T148 *C,T0 * a1,T0 * a2){
- int R=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
- /*IF*/if ((!((C)->_result_type))||(!(XrT62result_type(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT148error(rT148start_position(C),(T0 *)ms501);
- }
- /*FI*/}
- /*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
- /*IF*/if ((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT148error(rT148start_position(C),(T0 *)ms502);
- }
- else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT148error(rT148start_position(C),(T0 *)ms503);
- }
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_result_type)) {
- /*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms504);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT58run_time_mark(((T260*)a2)->_current_type));
- rT45error((T45*)oRBC27eh,(T0 *)ms505);
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
- /*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT148start_position(C));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms506);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT58run_time_mark(((T260*)a2)->_current_type));
- rT45error((T45*)oRBC27eh,(T0 *)ms507);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
- return R;
- }
- T0 * rT148base_class_name(T148 *C){
- T0 * R=NULL;
- R=((T50*)(C)->_base_class)->_base_class_name;
- return R;
- }
- void rT148copy(T148 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- T0 * rT148value(T148 *C,int a1){
- T0 * R=NULL;
- R=(C)->_value_mem;
- return R;
- }
- void rT148make_e_feature(T148 *C,T0 * a1,T0 * a2){
- C->_names=a1;
- C->_result_type=a2;
- }
- void rT148make(T148 *C,T0 * a1,T0 * a2,T0 * a3){
- rT148make_e_feature(C,a1,a2);
- C->_value_mem=a3;
- }
- T0 * rT149first_name(T149 *C){
- T0 * R=NULL;
- R=rT128item((T128*)(C)->_names,1);
- return R;
- }
- void rT149fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- T0 * rT149to_run_feature(T149 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _rc=NULL;
- _rc=XrT58run_class(a1);
- R=rT260at((T260*)_rc,a2);
- if ((int)R) switch (((T0 *)R)->id) {
- case 277:
- break;
- default:
- R = NULL;
- };/*IF*/if (!(R)) {
- {T277 *n=((T277*)new(277));
- rT277make(n,a1,a2,(T0 *)C);
- R=(T0 *)n;}
- }
- /*FI*/return R;
- }
- void rT149error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- void rT149fe_undefine(/*C*/T0 * a1,T0 * a2){
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms483);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms484);
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
- rT149fatal_error((T0 *)ms485);
- }
- int rT149is_merge_with(T149 *C,T0 * a1,T0 * a2){
- int R=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
- /*IF*/if ((!((C)->_result_type))||(!(XrT62result_type(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT149error(rT149start_position(C),(T0 *)ms488);
- }
- /*FI*/}
- /*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
- /*IF*/if ((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT149error(rT149start_position(C),(T0 *)ms489);
- }
- else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT149error(rT149start_position(C),(T0 *)ms490);
- }
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_result_type)) {
- /*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
- rT45error((T45*)oRBC27eh,(T0 *)ms491);
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
- /*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT149error(rT149start_position(C),(T0 *)ms494);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
- return R;
- }
- T0 * rT149start_position(T149 *C){
- T0 * R=NULL;
- R=XrT67start_position(rT149first_name(C));
- return R;
- }
- void rT149collect_for(/*C*/int a1){
- /*IF*/if ((a1)==(1001)) {
- /*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
- /*IF*/if (!(rT268fast_has((T268*)oRBC62require_collector,/*(IRF4*/NULL/*)*/))) {
- rT268add_last((T268*)oRBC62require_collector,/*(IRF4*/NULL/*)*/);
- }
- /*FI*/}
- /*FI*/}
- else {
- /*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
- rT157add_into((T157*)/*(IRF4*/NULL/*)*/,oRBC62assertion_collector);
- }
- /*FI*/}
- /*FI*/}
- void rT149add_into(T149 *C,T0 * a1){
- T0 * _fn=NULL;
- int _i=0;
- C->_base_class=rT46base_class((T46*)XrT67start_position(rT128item((T128*)(C)->_names,1)));
- _i=1;
- while (!((_i)>(rT128count((T128*)(C)->_names)))) {
- _fn=rT128item((T128*)(C)->_names,_i);
- /*IF*/if (rT61has((T61*)a1,XrT67to_key(_fn))) {
- _fn=XrT62first_name(rT61at((T61*)a1,XrT67to_key(_fn)));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(_fn));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(rT128item((T128*)(C)->_names,_i)));
- rT45error((T45*)oRBC27eh,(T0 *)ms419);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(_fn));
- rT45error((T45*)oRBC27eh,(T0 *)ms38);
- }
- else {
- rT61put((T61*)a1,(T0 *)C,XrT67to_key(_fn));
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- T0 * rT149try_to_undefine(T149 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- /*IF*/if (XrT67is_frozen(a1)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT149start_position(C));
- rT149error(XrT67start_position(a1),(T0 *)ms482);
- rT149fe_undefine(a1,a2);
- }
- else {
- R=rT149try_to_undefine_aux(C,a1,a2);
- /*IF*/if (((int)R)) {
- XrT203set_clients(R,(C)->_clients);
- }
- else {
- rT149fe_undefine(a1,a2);
- }
- /*FI*/}
- /*FI*/return R;
- }
- T0 * rT149try_to_undefine_aux(T149 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT149start_position(C));
- rT149error(XrT67start_position(a1),(T0 *)ms1518);
- rT149fe_undefine(a1,a2);
- return R;
- }
- int rT149can_hide(T149 *C,T0 * a1,T0 * a2){
- int R=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
- /*IF*/if ((!((C)->_result_type))||(!(XrT62result_type(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT149error(rT149start_position(C),(T0 *)ms501);
- }
- /*FI*/}
- /*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
- /*IF*/if ((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT149error(rT149start_position(C),(T0 *)ms502);
- }
- else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT149error(rT149start_position(C),(T0 *)ms503);
- }
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_result_type)) {
- /*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms504);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT58run_time_mark(((T260*)a2)->_current_type));
- rT45error((T45*)oRBC27eh,(T0 *)ms505);
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
- /*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT149start_position(C));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms506);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT58run_time_mark(((T260*)a2)->_current_type));
- rT45error((T45*)oRBC27eh,(T0 *)ms507);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
- return R;
- }
- T0 * rT149base_class_name(T149 *C){
- T0 * R=NULL;
- R=((T50*)(C)->_base_class)->_base_class_name;
- return R;
- }
- void rT149copy(T149 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- T0 * rT149value(T149 *C,int a1){
- T0 * R=NULL;
- R=(C)->_value_mem;
- return R;
- }
- void rT149make_e_feature(T149 *C,T0 * a1,T0 * a2){
- C->_names=a1;
- C->_result_type=a2;
- }
- void rT149make(T149 *C,T0 * a1,T0 * a2,T0 * a3){
- rT149make_e_feature(C,a1,a2);
- C->_value_mem=a3;
- }
- T0 * rT150first_name(T150 *C){
- T0 * R=NULL;
- R=rT128item((T128*)(C)->_names,1);
- return R;
- }
- void rT150fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- T0 * rT150to_run_feature(T150 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _rc=NULL;
- _rc=XrT58run_class(a1);
- R=rT260at((T260*)_rc,a2);
- if ((int)R) switch (((T0 *)R)->id) {
- case 277:
- break;
- default:
- R = NULL;
- };/*IF*/if (!(R)) {
- {T277 *n=((T277*)new(277));
- rT277make(n,a1,a2,(T0 *)C);
- R=(T0 *)n;}
- }
- /*FI*/return R;
- }
- void rT150error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- void rT150fe_undefine(/*C*/T0 * a1,T0 * a2){
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms483);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms484);
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
- rT150fatal_error((T0 *)ms485);
- }
- int rT150is_merge_with(T150 *C,T0 * a1,T0 * a2){
- int R=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
- /*IF*/if ((!((C)->_result_type))||(!(XrT62result_type(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT150error(rT150start_position(C),(T0 *)ms488);
- }
- /*FI*/}
- /*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
- /*IF*/if ((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT150error(rT150start_position(C),(T0 *)ms489);
- }
- else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT150error(rT150start_position(C),(T0 *)ms490);
- }
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_result_type)) {
- /*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
- rT45error((T45*)oRBC27eh,(T0 *)ms491);
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
- /*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT150error(rT150start_position(C),(T0 *)ms494);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
- return R;
- }
- T0 * rT150start_position(T150 *C){
- T0 * R=NULL;
- R=XrT67start_position(rT150first_name(C));
- return R;
- }
- void rT150collect_for(/*C*/int a1){
- /*IF*/if ((a1)==(1001)) {
- /*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
- /*IF*/if (!(rT268fast_has((T268*)oRBC62require_collector,/*(IRF4*/NULL/*)*/))) {
- rT268add_last((T268*)oRBC62require_collector,/*(IRF4*/NULL/*)*/);
- }
- /*FI*/}
- /*FI*/}
- else {
- /*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
- rT157add_into((T157*)/*(IRF4*/NULL/*)*/,oRBC62assertion_collector);
- }
- /*FI*/}
- /*FI*/}
- void rT150add_into(T150 *C,T0 * a1){
- T0 * _fn=NULL;
- int _i=0;
- C->_base_class=rT46base_class((T46*)XrT67start_position(rT128item((T128*)(C)->_names,1)));
- _i=1;
- while (!((_i)>(rT128count((T128*)(C)->_names)))) {
- _fn=rT128item((T128*)(C)->_names,_i);
- /*IF*/if (rT61has((T61*)a1,XrT67to_key(_fn))) {
- _fn=XrT62first_name(rT61at((T61*)a1,XrT67to_key(_fn)));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(_fn));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(rT128item((T128*)(C)->_names,_i)));
- rT45error((T45*)oRBC27eh,(T0 *)ms419);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(_fn));
- rT45error((T45*)oRBC27eh,(T0 *)ms38);
- }
- else {
- rT61put((T61*)a1,(T0 *)C,XrT67to_key(_fn));
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- T0* rT150clone(T150 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- T0 * rT150try_to_undefine(T150 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- /*IF*/if (XrT67is_frozen(a1)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT150start_position(C));
- rT150error(XrT67start_position(a1),(T0 *)ms482);
- rT150fe_undefine(a1,a2);
- }
- else {
- R=rT150try_to_undefine_aux(C,a1,a2);
- /*IF*/if (((int)R)) {
- XrT203set_clients(R,(C)->_clients);
- }
- else {
- rT150fe_undefine(a1,a2);
- }
- /*FI*/}
- /*FI*/return R;
- }
- T0 * rT150try_to_undefine_aux(T150 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT150start_position(C));
- rT150error(XrT67start_position(a1),(T0 *)ms1518);
- rT150fe_undefine(a1,a2);
- return R;
- }
- int rT150can_hide(T150 *C,T0 * a1,T0 * a2){
- int R=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
- /*IF*/if ((!((C)->_result_type))||(!(XrT62result_type(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT150error(rT150start_position(C),(T0 *)ms501);
- }
- /*FI*/}
- /*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
- /*IF*/if ((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT150error(rT150start_position(C),(T0 *)ms502);
- }
- else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT150error(rT150start_position(C),(T0 *)ms503);
- }
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_result_type)) {
- /*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms504);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT58run_time_mark(((T260*)a2)->_current_type));
- rT45error((T45*)oRBC27eh,(T0 *)ms505);
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
- /*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT150start_position(C));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms506);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT58run_time_mark(((T260*)a2)->_current_type));
- rT45error((T45*)oRBC27eh,(T0 *)ms507);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
- return R;
- }
- T0 * rT150base_class_name(T150 *C){
- T0 * R=NULL;
- R=((T50*)(C)->_base_class)->_base_class_name;
- return R;
- }
- void rT150copy(T150 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- T0 * rT150value(T150 *C,int a1){
- T0 * R=NULL;
- R=rT151item((T151*)(C)->_values,a1);
- return R;
- }
- void rT150make_e_feature(T150 *C,T0 * a1,T0 * a2){
- C->_names=a1;
- C->_result_type=a2;
- }
- void rT150make(T150 *C,T0 * a1,T0 * a2,T0 * a3){
- int _i=0;
- rT150make_e_feature(C,a1,a2);
- {T151 *n=((T151*)new(151));
- rT151make(n,1,rT128count((T128*)(C)->_names));
- C->_values=(T0 *)n;}
- rT151put((T151*)(C)->_values,a3,1);
- _i=2;
- while (!((_i)>(((T151*)(C)->_values)->_upper))) {
- rT151put((T151*)(C)->_values,rT150clone(C,a3),_i);
- _i=(_i)+(1);
- }
- }
- T0 * rT152first_name(T152 *C){
- T0 * R=NULL;
- R=rT128item((T128*)(C)->_names,1);
- return R;
- }
- void rT152fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- T0 * rT152to_run_feature(T152 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _rc=NULL;
- _rc=XrT58run_class(a1);
- R=rT260at((T260*)_rc,a2);
- if ((int)R) switch (((T0 *)R)->id) {
- case 277:
- break;
- default:
- R = NULL;
- };/*IF*/if (!(R)) {
- {T277 *n=((T277*)new(277));
- rT277make(n,a1,a2,(T0 *)C);
- R=(T0 *)n;}
- }
- /*FI*/return R;
- }
- void rT152error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- void rT152fe_undefine(/*C*/T0 * a1,T0 * a2){
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms483);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms484);
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
- rT152fatal_error((T0 *)ms485);
- }
- int rT152is_merge_with(T152 *C,T0 * a1,T0 * a2){
- int R=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
- /*IF*/if ((!((C)->_result_type))||(!(XrT62result_type(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT152error(rT152start_position(C),(T0 *)ms488);
- }
- /*FI*/}
- /*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
- /*IF*/if ((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT152error(rT152start_position(C),(T0 *)ms489);
- }
- else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT152error(rT152start_position(C),(T0 *)ms490);
- }
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_result_type)) {
- /*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
- rT45error((T45*)oRBC27eh,(T0 *)ms491);
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
- /*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT152error(rT152start_position(C),(T0 *)ms494);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
- return R;
- }
- T0 * rT152start_position(T152 *C){
- T0 * R=NULL;
- R=XrT67start_position(rT152first_name(C));
- return R;
- }
- void rT152collect_for(/*C*/int a1){
- /*IF*/if ((a1)==(1001)) {
- /*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
- /*IF*/if (!(rT268fast_has((T268*)oRBC62require_collector,/*(IRF4*/NULL/*)*/))) {
- rT268add_last((T268*)oRBC62require_collector,/*(IRF4*/NULL/*)*/);
- }
- /*FI*/}
- /*FI*/}
- else {
- /*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
- rT157add_into((T157*)/*(IRF4*/NULL/*)*/,oRBC62assertion_collector);
- }
- /*FI*/}
- /*FI*/}
- void rT152add_into(T152 *C,T0 * a1){
- T0 * _fn=NULL;
- int _i=0;
- C->_base_class=rT46base_class((T46*)XrT67start_position(rT128item((T128*)(C)->_names,1)));
- _i=1;
- while (!((_i)>(rT128count((T128*)(C)->_names)))) {
- _fn=rT128item((T128*)(C)->_names,_i);
- /*IF*/if (rT61has((T61*)a1,XrT67to_key(_fn))) {
- _fn=XrT62first_name(rT61at((T61*)a1,XrT67to_key(_fn)));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(_fn));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(rT128item((T128*)(C)->_names,_i)));
- rT45error((T45*)oRBC27eh,(T0 *)ms419);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(_fn));
- rT45error((T45*)oRBC27eh,(T0 *)ms38);
- }
- else {
- rT61put((T61*)a1,(T0 *)C,XrT67to_key(_fn));
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- T0 * rT152try_to_undefine(T152 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- /*IF*/if (XrT67is_frozen(a1)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT152start_position(C));
- rT152error(XrT67start_position(a1),(T0 *)ms482);
- rT152fe_undefine(a1,a2);
- }
- else {
- R=rT152try_to_undefine_aux(C,a1,a2);
- /*IF*/if (((int)R)) {
- XrT203set_clients(R,(C)->_clients);
- }
- else {
- rT152fe_undefine(a1,a2);
- }
- /*FI*/}
- /*FI*/return R;
- }
- T0 * rT152try_to_undefine_aux(T152 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT152start_position(C));
- rT152error(XrT67start_position(a1),(T0 *)ms1518);
- rT152fe_undefine(a1,a2);
- return R;
- }
- int rT152can_hide(T152 *C,T0 * a1,T0 * a2){
- int R=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
- /*IF*/if ((!((C)->_result_type))||(!(XrT62result_type(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT152error(rT152start_position(C),(T0 *)ms501);
- }
- /*FI*/}
- /*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
- /*IF*/if ((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT152error(rT152start_position(C),(T0 *)ms502);
- }
- else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT152error(rT152start_position(C),(T0 *)ms503);
- }
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_result_type)) {
- /*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms504);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT58run_time_mark(((T260*)a2)->_current_type));
- rT45error((T45*)oRBC27eh,(T0 *)ms505);
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
- /*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT152start_position(C));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms506);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT58run_time_mark(((T260*)a2)->_current_type));
- rT45error((T45*)oRBC27eh,(T0 *)ms507);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
- return R;
- }
- T0 * rT152base_class_name(T152 *C){
- T0 * R=NULL;
- R=((T50*)(C)->_base_class)->_base_class_name;
- return R;
- }
- void rT152copy(T152 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- T0 * rT152value(T152 *C,int a1){
- T0 * R=NULL;
- R=(C)->_value_mem;
- return R;
- }
- void rT152make_e_feature(T152 *C,T0 * a1,T0 * a2){
- C->_names=a1;
- C->_result_type=a2;
- }
- void rT152make(T152 *C,T0 * a1,T0 * a2,T0 * a3){
- rT152make_e_feature(C,a1,a2);
- C->_value_mem=a3;
- }
- T0 * rT153first_name(T153 *C){
- T0 * R=NULL;
- R=rT128item((T128*)(C)->_names,1);
- return R;
- }
- void rT153fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- T0 * rT153to_run_feature(T153 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- T0 * _rc=NULL;
- _rc=XrT58run_class(a1);
- R=rT260at((T260*)_rc,a2);
- if ((int)R) switch (((T0 *)R)->id) {
- case 277:
- break;
- default:
- R = NULL;
- };/*IF*/if (!(R)) {
- {T277 *n=((T277*)new(277));
- rT277make(n,a1,a2,(T0 *)C);
- R=(T0 *)n;}
- }
- /*FI*/return R;
- }
- void rT153error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- void rT153fe_undefine(/*C*/T0 * a1,T0 * a2){
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms483);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms484);
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
- rT153fatal_error((T0 *)ms485);
- }
- int rT153is_merge_with(T153 *C,T0 * a1,T0 * a2){
- int R=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
- /*IF*/if ((!((C)->_result_type))||(!(XrT62result_type(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT153error(rT153start_position(C),(T0 *)ms488);
- }
- /*FI*/}
- /*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
- /*IF*/if ((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT153error(rT153start_position(C),(T0 *)ms489);
- }
- else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT153error(rT153start_position(C),(T0 *)ms490);
- }
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_result_type)) {
- /*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
- rT45error((T45*)oRBC27eh,(T0 *)ms491);
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
- /*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT153error(rT153start_position(C),(T0 *)ms494);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
- return R;
- }
- T0 * rT153start_position(T153 *C){
- T0 * R=NULL;
- R=XrT67start_position(rT153first_name(C));
- return R;
- }
-